﻿
$(function () {
	 
    //点击切换按钮
 /*   $(".icon-menu").click(function () {
        toggleMainMenu(); //切换按钮显示事件
    });*/
    $(".list-wrap a").click(function (event) {
        event.preventDefault();
        var navid = $(this).attr("navid");
        setCookie("nav", navid, 240);
        linkMenuTree();
    });
    linkMenuTree();
    //页面尺寸改变时
    
/*    $(window).resize(function () {
        //延迟执行,防止多次触发
        setTimeout(function () {
            mainPageResize(); //主页面响应式
        }, 100);
    });*/
   
});




//定位或跳转到相应的菜单
function linkMenuTree() {
	//var navObj = $("#sidebar-nav");
    var navGroupObj = $("#sidebar-nav .list-group");
    var cookieObj;
    navGroupObj.find('a').removeClass("selected");
    navGroupObj.find('li').removeClass("mbgon");
    //  if (getCookie("nav") == "") {
    //    setCookie("nav", "customer", 240);
    // }
    console.log("cookie:"+getCookie("nav"))
    cookieObj = navGroupObj.find('a[navid="' + getCookie("nav") + '"]');
    //显示导航位置
    $('.title span').html(cookieObj.find('h3').html());
    //自身添加样式
    cookieObj.addClass("selected");

   /* if (cookieObj.parent().parent().attr("class") == "list") {
        cookieObj.parents().find('a.m').addClass("selected");
    }*/
    
  //  navGroupObj.eq(navObj.children("a").index($(this))).show();

    
    //遍历所有的LI父节点
    cookieObj.parents("li").each(function () {
    	//遍历所有的LI父节点
		cookieObj.parents("li").each(function () {
			//搜索所有同级LI且有子菜单的右图标为+号及隐藏子菜单
			$(this).siblings().each(function () {
				if ($(this).children("ul").length > 0) {
					//设置自身的右图标为+号
					$(this).find("a").children(".expandable").removeClass("fa-minus");
					$(this).find("a").children(".expandable").addClass("fa-plus");
					//隐藏自身子菜单
					$(this).find("ul").hide();
				}
			});
			
			//设置自身的右图标为-号
			if ($(this).children("ul").length > 0) {
				$(this).children("a").children(".expandable").removeClass("fa-plus");
				$(this).children("a").addClass('selected').children(".expandable").addClass("fa-minus");
				$(this).addClass('mbgon');
			}
			//显示自身的UL
			$(this).children("ul").show();
		});

        //设置自身的右图标为-号
        if ($(this).children("ul").length > 0) {
            $(this).children("a").children(".expandable").removeClass("fa-plus");
            $(this).children("a").children(".expandable").addClass("fa-minus");
        }
        //显示自身的UL
        $(this).children("ul").show();
    });
    //检查是否需要跳转链接
    if (cookieObj.attr("href") && cookieObj.attr("href") != "" && cookieObj.attr("href") != "#") {
      //console.log('cookieObj:'+cookieObj.attr("href"));
       frames["mainframe"].location.href = cookieObj.attr("href");
    }

}



/*//导航菜单显示和隐藏
function mainPageResize() {
    var docWidth = $(window).width();
    if (docWidth > 800) {
        $("body").removeClass("lay-mini");
        $(".nav-right").show();
    } else {
        $("body").addClass("lay-mini");
    }
}*/

//切换按钮显示事件
function toggleMainMenu() {
    $("body").toggleClass("lay-mini");
    if (!$("body").hasClass("lay-mini") && $(window).width() > 800) {
        $("#main-nav").show();
        $(".nav-right").show();
    } else {
        $("#main-nav").hide();
        if (($(".main-top").width() - 42) < $(".nav-right").width()) {
            $(".nav-right").hide();
        } else {
            $(".nav-right").show();
        }
    }
}


function pinyin(obj, tarid) {
    var name = $(obj).val();
    $(tarid).val(ConvertPY(name));
}
//绑定需要浮动的表头
$(function () {
    $(".ltable tr:nth-child(odd)").addClass("odd_bg"); //隔行变色
});
//Tab控制函数
function tabs(tabObj) {
    var tabNum = $(tabObj).parent().index("li")
    //设置点击后的切换样式
    $(tabObj).parent().parent().find("li a").removeClass("selected");
    $(tabObj).addClass("selected");
    //根据参数决定显示内容
    $(".tab-content").hide();
    $(".tab-content").eq(tabNum).show();
}
//全选取消按钮函数
function checkAll(chkobj) {
    if ($(chkobj).is(":checked")) {
        $(chkobj).children("span").text("取消");
        $(".checkall input:enabled").prop("checked", true);
    } else {
        $(chkobj).children("span").text("全选");
        $(".checkall input:enabled").prop("checked", false);
    }
}
function checkAll0(chkobj) {
    if ($(chkobj).is(":checked")) {
        $("input.checkall").prop("checked", true);
    } else {
        $("input:enabled.checkall").prop("checked", false);
    }
}
function ajax_ip(obj) {
    var ip = $(obj).html();
    if (ip == "") {
        $(obj).html("--");
        return;}
    $(obj).html("查询中……");
    $.ajax({
        url: "/skin/tools/json.ashx?action=iphost&ip=" + ip,
        type: 'GET',
        cache: false,
        success: function (data) {
            $(obj).html(data);
        }
    });
};



//===========================工具类函数============================
//只允许输入数字
function checkNumber(e) {
    var keynum = window.event ? e.keyCode : e.which;
    if ((48 <= keynum && keynum <= 57) || (96 <= keynum && keynum <= 105) || keynum == 8) {
        return true;
    } else {
        return false;
    }
}
//只允许输入小数
function checkForFloat(obj, e) {
    var isOK = false;
    var key = window.event ? e.keyCode : e.which;
    if ((key > 95 && key < 106) || //小键盘上的0到9  
        (key > 47 && key < 60) ||  //大键盘上的0到9  
        (key == 110 && obj.value.indexOf(".") < 0) || //小键盘上的.而且以前没有输入.  
        (key == 190 && obj.value.indexOf(".") < 0) || //大键盘上的.而且以前没有输入.  
         key == 8 || key == 9 || key == 46 || key == 37 || key == 39) {
        isOK = true;
    } else {
        if (window.event) { //IE
            e.returnValue = false;   //event.returnValue=false 效果相同.    
        } else { //Firefox 
            e.preventDefault();
        }
    }
    return isOK;
}
//检查短信字数
function checktxt(obj, txtId) {
    var txtCount = $(obj).val().length;
    if (txtCount < 1) {
        return false;
    }
    var smsLength = Math.ceil(txtCount / 62);
    $("#" + txtId).html("您已输入<b>" + txtCount + "</b>个字符，将以<b>" + smsLength + "</b>条短信扣取费用。");
}
//四舍五入函数
function ForDight(Dight, How) {
    Dight = Math.round(Dight * Math.pow(10, How)) / Math.pow(10, How);
    return Dight;
}


//========================基于artdialog插件========================
//可以自动关闭的提示，基于artdialog插件
function jsprint(msgtitle, url) {
    var d = dialog({ content: msgtitle }).show();
    setTimeout(function () {
        d.close().remove();
    }, 2000);
    if (url == "back") {
        frames["mainframe"].history.back(-1);
    } else if (url != "") {
        frames["mainframe"].location.href = url;
    }
}
function jsprintframe(msgtitle, url) {
    var d = dialog({ content: msgtitle }).show();
    setTimeout(function () {
        d.close().remove();
    }, 2000);
  if (parent.frames["content"] == undefined) {
        parent.frames["mainframe"].location.href = url;
    } else {
        parent.frames["content"].location.href = url;
    }
}
//弹出一个Dialog窗口
function jsdialog(msgtitle, msgcontent, url, callback) {
    var d = dialog({
        title: msgtitle,
        content: msgcontent,
        okValue: '确定',
        ok: function () { },
        onclose: function () {
            if (url == "back") {
                history.back(-1);
            } else if (url != "") {
                location.href = url;
            }
            //执行回调函数
            if (argnum == 5) {
                callback();
            }
        }
    }).showModal();
}
//打开一个最大化的Dialog
function ShowMaxDialog(tit, url) {
    dialog({
        title: tit,
        url: url
    }).showModal();
}
//执行回传函数
function ExePostBack(objId, objmsg) {
    if ($(".checkall input:checked").size() < 1) {
        parent.dialog({
            title: '提示',
            content: '对不起，请选中您要操作的记录！',
            okValue: '确定',
            ok: function () { }
        }).showModal();
        return false;
    }
    var msg = "删除记录后不可恢复，您确定吗？";
    if (arguments.length == 2) {
        msg = objmsg;
    }
    parent.dialog({
        title: '提示',
        content: msg,
        okValue: '确定',
        ok: function () {
            __doPostBack(objId, '');
        },
        cancelValue: '取消',
        cancel: function () { }
    }).showModal();

    return false;
}
//检查是否有选中再决定回传
function CheckPostBack(objId, objmsg) {
    var msg = "对不起，请选中您要操作的记录！";
    if (arguments.length == 2) {
        msg = objmsg;
    }
    if ($(".checkall input:checked").size() < 1) {
        parent.dialog({
            title: '提示',
            content: msg,
            okValue: '确定',
            ok: function () { }
        }).showModal();
        return false;
    }
    __doPostBack(objId, '');
    return false;
}
//执行回传无复选框确认函数
function ExeNoCheckPostBack(objId, objmsg) {
    var msg = "删除记录后不可恢复，您确定吗？";
    if (arguments.length == 2) {
        msg = objmsg;
    }
    parent.dialog({
        title: '提示',
        content: msg,
        okValue: '确定',
        ok: function () {
            __doPostBack(objId, '');
        },
        cancelValue: '取消',
        cancel: function () { }
    }).showModal();

    return false;
}
//======================以上基于artdialog插件======================

//========================基于Validform插件========================
//初始化验证表单
$.fn.initValidform = function () {
    var checkValidform = function (formObj) {
        $(formObj).Validform({
            tiptype: function (msg, o, cssctl) {
                /*msg：提示信息;
                o:{obj:*,type:*,curform:*}
                obj指向的是当前验证的表单元素（或表单对象）；
                type指示提示的状态，值为1、2、3、4， 1：正在检测/提交数据，2：通过验证，3：验证失败，4：提示ignore状态；
                curform为当前form对象;
                cssctl:内置的提示信息样式控制函数，该函数需传入两个参数：显示提示信息的对象 和 当前提示的状态（既形参o中的type）；*/
                //全部验证通过提交表单时o.obj为该表单对象;
                if (!o.obj.is("form")) {
                    //定位到相应的Tab页面
                    if (o.obj.is(o.curform.find(".Validform_error:first"))) {
                        var tabobj = o.obj.parents(".tab-content"); //显示当前的选项
                        var tabindex = $(".tab-content").index(tabobj); //显示当前选项索引
                        if (!$(".content-tab ul li").eq(tabindex).children("a").hasClass("selected")) {
                            $(".content-tab ul li a").removeClass("selected");
                            $(".content-tab ul li").eq(tabindex).children("a").addClass("selected");
                            $(".tab-content").hide();
                            tabobj.show();
                        }
                    }
                    //页面上不存在提示信息的标签时，自动创建;
                    if (o.obj.parents("dd").find(".Validform_checktip").length == 0) {
                        o.obj.parents("dd").append("<span class='Validform_checktip' />");
                        o.obj.parents("dd").next().find(".Validform_checktip").remove();
                    }
                    var objtip = o.obj.parents("dd").find(".Validform_checktip");
                    cssctl(objtip, o.type);
                    objtip.text(msg);
                }
            },
            showAllError: true
        });
    };
    return $(this).each(function () {
        checkValidform($(this));
    });
}


function ajax_attribute(id, table) {
    var chid = $("#ddlnodeid").val();
    $.ajax({
        url: "/skin/tools/json.ashx?action=etdxml&table="+table+"&chid=" +chid + "&id="+id+"&r=" + Math.random(),
        type: 'GET',
        dataType: "html",
        success: function (data) {
            $("#pxml").html(data);
            loaduploadimg(); //图片上传初始化
            $(".rule-single-checkbox").ruleSingleCheckbox();
            $(".rule-multi-checkbox").ruleMultiCheckbox();
            $(".rule-multi-radio").ruleMultiRadio();
            $(".rule-single-select").ruleSingleSelect();
            $(".rule-multi-porp").ruleMultiPorp();
        }
    });
};

function Upload(obj, repath) {
    var sendUrl = "/skin/tools/upload_ajax.ashx?action=SingleFile&UpFilePath=" + obj;
    //开始提交
    $("#form1").ajaxSubmit({
        beforeSubmit: function (formData, jqForm, options) {
            //隐藏上传按钮
            $("#" + obj).hide();
            //显示LOADING图片
            $("#" + repath).nextAll(".uploading").eq(0).show();
        },
        success: function (data, textStatus) {
            $("#" + repath).html(data);
            alert(data);
            $("#" + obj).show();
            $("#" + repath).nextAll(".uploading").eq(0).hide();
        },
        error: function (data, status, e) {
            alert("上传失败，错误信息：" + e);
            $("#" + obj).show();
            $("#" + repath).nextAll(".uploading").eq(0).hide();
        },
        url: sendUrl,
        type: "post",
        dataType: "text",
        timeout: 600000
    });
};

